//获取应用实例
const app = getApp()
Page({
  data: {
    texts: '至少5个字',
    min: 5, //最少字数
    max: 100, //最多字数 (根据自己需求改变)
    // // 当前房源
    fangyuan: {
      // 默认id
      id: 0,
      // 面积
      area: '',
      // 租金
      rent: '',
      // 类型id
      fyid: '',
      // 装修id
      zxid: '',
      // 配套集合id
      ptid: [],
      // 描述
      desc: '',
      fyname: '',
      zxname: '',
      ptname: '',
    },
    // 类型列表
    fylist: '',
    // 装修列表
    zxlist: '',
    // 配套列表
    ptlist: '',
    // 添加项目状态下的 添加和修改房源
    type0: '', // 默认为0添加  1为修改
    // 修改项目状态下的 添加和修改房源
    type1: '', // 默认为0添加  1为修改
    // 当前房源的索引号
    i: '',
  },
  onLoad: function (options) {
    const fangyuans = app.globalData.fangyuan || []
    const xgid = app.globalData.xgid
    // 添加房源状态
    const type = options.type
    // 修改房源的索引号
    const i = options.i
    console.log(options)

    // 添加项目
    if (!xgid) {
      // 添加房源
      if (type == 0) {
        this.setData({
          type0: 0,
        })
      }
      // 修改房源
      else {
        this.setData({
          type0: 1,
          i,
        })
      }
      // 修改项目
    } else {
      // 添加房源
      if (type == 0) {
        this.setData({
          type1: 0,
        })
      }
      // 修改房源
      else {
        this.setData({
          type1: 1,
          i,
        })
      }
    }
    // this.setData({ fangyuans,fangyuan:{} });
    this.setData({ fangyuans })

    this._getType()
    this._getTrim()
    this._getPtlist()

    this.onShow(options)
  },
  onShow(options) {
    const fangyuans = app.globalData.fangyuan || []
    if (options && options.i) {
      console.log()
      let fangyuan = fangyuans[options.i]
      // if(fangyuan.ptid && fangyuan.ptid.typeOf == 'object') {
      //   fangyuan.ptid  =  fangyuan.ptid.split(',')
      //   this.setData({fangyuan})
      // }
      this.setData({ fangyuan, fangyuans })
      this._getType()
      this._getTrim()
      this._getPtlist()
    }
  },
  // 面积
  _areaChange(e) {
    this.setData({
      'fangyuan.area': e.detail.value,
    })
  },
  // 租金
  _rentChange(e) {
    this.setData({
      'fangyuan.rent': e.detail.value,
    })
  },
  // 获取类型
  async _getType() {
    let res = await wx.requestAsync({
      url: 'index/fylist',
    })
    const fylist = res.res.fylist
    this.setData({ fylist })
  },
  // 类型选中id
  _fyActive(e) {
    let id = e.target.dataset.id
    let title = e.target.dataset.title
    if (!title || !id) {
      return false
    }
    this.setData({
      'fangyuan.fyid': id,
      'fangyuan.fyname': title,
    })
  },
  //装修
  async _getTrim() {
    let res = await wx.requestAsync({
      url: 'index/zxlist',
    })
    const zxlist = res.res.zxlist
    this.setData({ zxlist })
  },
  // 装修选中id
  _zxActive(e) {
    let id = e.target.dataset.id
    let title = e.target.dataset.title
    if (!title || !id) {
      return false
    }
    this.setData({
      'fangyuan.zxid': id,
      'fangyuan.zxname': title,
    })
  },
  // 配套
  async _getPtlist() {
    let res = await wx.requestAsync({
      url: 'index/ptlist',
    })
    const ptlist = res.res.list
    ptlist.map((item) => {
      item.is_cheack = false
      return item
    })

    this.setData({ ptlist })
    this._ptActive()
  },
  // 配套选中id
  _ptActive(e) {
    console.log(e)
    if (e && e.target.dataset.id) {
      let id = e.target.dataset.id
      console.log(id)
      const { ptlist, fangyuan } = this.data
      ptlist.map((item) => {
        if (item.id == id) {
          item.is_cheack = !item.is_cheack
        }
        return item
      })
      console.log(ptlist)
      let ptids = []
      let ptname = []
      ptlist.filter((item) => {
        if (item.is_cheack) {
          ptname.push(item.title)
          return ptids.push(item.id)
        }
      })
      fangyuan.ptid = ptids
      this.setData({ fangyuan, ptlist, 'fangyuan.ptname': ptname })
    } else {
      // 修改
      const {
        ptlist,
        fangyuan: { ptid },
        fangyuan,
      } = this.data
      console.log(ptid)
      let ids = [...ptid]
      if (ptid) {
        ptlist.forEach((item) => {
          ids.forEach((item1) => {
            if (item.id == item1) {
              item.is_cheack = !item.is_cheack
            }
          })
          return item
        })
      }
      console.log(ptlist, ids)
      let ptids = []
      let ptname = []
      ptlist.filter((item) => {
        if (item.is_cheack) {
          ptname.push(item.title)
          return ptids.push(item.id)
        }
      })

      fangyuan.ptid = ptids
      this.setData({ fangyuan, ptlist, 'fangyuan.ptname': ptname })
    }
  },
  // 页面关闭
  onHide() {
    this.setData({
      fangyuans: [],
      fangyuan: {},
      type0: '',
      type1: '',
      i: '',
    })
  },
  // 点击确认按钮添加房源
  _submitAdd() {
    const { fangyuan, fangyuans, type0, type1, i } = this.data

    if (fangyuan.area && fangyuan.rent && fangyuan.fyid && fangyuan.zxid) {
      console.log(fangyuans)
      // 添加项目下的添加状态
      if (type0 == 0 && !type1) {
        console.log('111', type0)

        // 渲染列表的数组
        fangyuans.push(fangyuan)
        app.globalData.fangyuan = fangyuans
        app.globalData.fangyuans = fangyuans
        console.log(fangyuans)
        wx.switchTab({
          url: '/pages/release/release',
        })
      }
      // 添加项目下的修改状态
      else if (type0 == 1 && !type1) {
        fangyuans.splice(i, 1)

        fangyuans.push(fangyuan)
        app.globalData.fangyuan = fangyuans
        app.globalData.fangyuans = fangyuans
        wx.switchTab({
          url: '/pages/release/release',
        })
      }
      // 修改项目下的添加状态
      else if (type1 == 0 && !type0) {
        // 渲染列表的数组
        fangyuans.push(fangyuan)
        app.globalData.fangyuan = fangyuans
        app.globalData.fangyuans = fangyuans
        console.log(fangyuans)
        wx.switchTab({
          url: '/pages/release/release',
        })
      }
      // 修改项目下的修改状态
      else if (type1 == 1 && !type0) {
        console.log('修改项目下的修改状态')

        fangyuans.splice(i, 1)
        fangyuans.push(fangyuan)
        app.globalData.fangyuan = fangyuans
        app.globalData.fangyuans = fangyuans
        wx.switchTab({
          url: '/pages/release/release',
        })
      }
      // 失败
      else {
        wx.showToast({
          title: '请输入完整。',
          icon: 'none',
        })
      }
    } else {
      wx.showToast({
        title: '请填写完整',
        icon: 'none',
      })
    }
  },

  _descChange: function (e) {
    this.setData({
      'fangyuan.desc': e.detail.value,
    })
    // 获取输入框内容的长度
    var len = parseInt(e.detail.value.length)
    //  console.log(wingyu)
    if (len <= this.data.min)
      this.setData({
        texts: '最低五个字',
      })
    else if (len > this.data.min)
      this.setData({
        texts: ' ',
      })
    if (len > this.data.max) return

    this.setData({
      currentWordNumber: len, //当前字数
    })
  },
})
